package com.ai.module.order.service;

import com.ai.module.order.domain.entity.WxOrderEntity;
import com.ai.module.order.domain.req.OrderReq;
import com.ai.module.order.domain.req.PayCallBackReq;
import com.ai.module.order.domain.req.WxPayOrderReq;
import com.ai.module.order.domain.vo.BusinessServiceVo;
import com.ai.module.order.domain.vo.PayInfoVo;
import com.ai.module.order.domain.vo.WeChatPayStatus;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;

import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public interface WxOrderService extends IService<WxOrderEntity> {
    WxOrderEntity createOrder(OrderReq orderReq);

    List<BusinessServiceVo> serviceInfo();


    PayInfoVo wxPay(WxPayOrderReq wxPayOrderReq);

    HashMap<String,Object> notifyOrder(JSONObject wxNotify, HttpServletRequest request);

    void test(String code);

    /**
     * 查询用户支付状态
     * @return
     */
    WeChatPayStatus payStatus(String orderId);


    Map<String, Object> notifyOrder(PayCallBackReq payCallBack);


    void dealCallBackByDecrypt(String decryptData);
}
